<?php
/**
 * @version			$Id: gnudoor.php 42 2010-08-07 02:04:56Z lowcosta@gmail.com $
 * @author			Richard Asp
 * @package			Joomla
 * @subpackage		gnudoor
 * @copyright		(C) 2010 gnudoor LLC
 * @license      GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );
jimport( 'joomla.application.component.model' );

class GnudoorModelGnudoor extends JModel  {
	var $_data;
	var $_attrib;
        function __construct() {
            parent::__construct();
        }
	/**
	 * Retrieves the data
	 * @return array Array of objects containing the data from the database
	 */
	function &getData() {
		$ccid = JRequest::getVar('cid');
		$theuser =& JFactory::getUser();
		// Lets load the data if it doesn't already exist
		if (empty( $this->_data )) {
			$query = ' SELECT * FROM #__gnudoor '.
					'  WHERE id = '. $ccid ;
			$this->_db->setQuery( $query );
			$this->_data = $this->_db->loadObject();
			$this->_data->userid = $theuser->id;
		}
                return $this->_data;
	}

	function getStatus($currentStatus = null) {
		$query = ' SELECT sel '
			. ' FROM #__gnudoorstatus '
			. ' WHERE id=' . $currentStatus
			;
	        $this->_db->setQuery($query);
	        return $this->_db->loadObject();
	}
	
    function store() {
		$row =& $this->getTable();
		$data = JRequest::get( 'post' );
		// Bind the form fields to the Gnudoor table
		if (!$row->bind($data)) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		// Make sure the Gnudoor record is valid
		if (!$row->check()) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		// Store the web link table to the database
		if (!$row->store()) {
			$this->setError( $row->getErrorMsg() );
			return false;
		}
		return true;
	}
    function storeselectprovider() {
		$row =& $this->getTable();
		$rowbid =& $this->getTable('bids');
		$data = JRequest::get( 'post' );
		// Bind the form fields to the Gnudoor table
		if (!$row->bind($data)) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		// Make sure the Gnudoor record is valid
		if (!$row->check()) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		// Store the web link table to the database
		if (!$row->store()) {
			$this->setError( $row->getErrorMsg() );
			return false;
		}
		if (!$rowbid->bind($data)) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		if (!$rowbid->check()) {
			$this->setError($this->_db->getErrorMsg());
			return false;
		}
		if (!$rowbid->store()) {
			$this->setError( $row->getErrorMsg() );
			return false;
		}
		return true;
	}
	
	function getAttributeArray() {
		$query = ' SELECT attribute, text '
			. ' FROM #__gnudoorproperties ';
	    $this->_db->setQuery($query);
	    $this->_attrib = $this->_db->loadObjectList();
	    foreach ($this->_attrib as $item) {
	    	$array[$item->attribute] = $item->text;
	    }
	    return $array;
	}
	
	function getBids($projid) {
		$query = ' SELECT b.projectid,b.providerid,p.name,b.value,b.comments,b.id '
			. ' FROM #__gnudoorbids AS b JOIN #__users AS p '
			. ' WHERE p.id = b.providerid '
			. ' AND b.projectid=' . $projid
			;
		$this->_db->setQuery($query);
		$this->_attrib = $this->_db->loadObjectList();
		return $this->_attrib;
	}

	function getBidProviderName($bidid) {
		$query = ' SELECT p.name, b.providerid FROM #__users AS p JOIN #__gnudoorbids as b WHERE p.id = b.providerid AND b.id=' . $bidid
				;
		$this->_db->setQuery($query);
		return $this->_db->loadObject();
	}
	function getCustomerName($userid) {
		$query = 	' SELECT name ' 
				.	' FROM #__users WHERE id =' . $userid
				;
		$this->_db->setQuery($query);
		return $this->_db->loadObject();
	}
	function getGnudoorGroup() {
		$query = ' SELECT userid, gnudoor_group '
			. ' FROM #__gnudoor_acl '
			;
		$this->_db->setQuery($query);
	    return $this->_db->loadObjectList();
		
	}
	function getValueFromProvider($projectid = null) {
		$query = ' SELECT b.value '
			. ' FROM #__gnudoor as g JOIN #__gnudoorbids as b '
			. ' WHERE g.bidid = b.id '
			. ' AND g.id=' . $projectid
			;
		$this->_db->setQuery($query);
	    return $this->_db->loadObject();
			
	}
	
}

?>
